package com.sczmgk.hotline_pzh.view;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.sczmgk.hotline_pzh.R;
import com.sczmgk.hotline_pzh.utils.Tools;

/**
 * Created by Administrator on 2016/11/30 0030.
 */

public class PersonalItemView extends LinearLayout {

    /*条目的图标*/
    private ImageView ivIcon;

    /*条目的文本描述*/
    private TextView mTvText;

    /*分割线的控件*/
    private LinearLayout lineView;

    /*新消息数的控件*/
    private TextView mTvNewMsgNum;

    public PersonalItemView(Context context) {
        super(context);
        init(context , null);
    }

    public PersonalItemView(Context context, AttributeSet attrs) {
        super(context, attrs);

        init(context , attrs);
    }

    /**
     * 初始化
     */
    private void init(Context context , AttributeSet attrs) {

        //填充布局
        View itemView = View.inflate(context, R.layout.item_me_menu, null);

        //图标
        ivIcon = (ImageView) itemView.findViewById(R.id.iv_menu_icon);

        //显示的文本
        mTvText = (TextView) itemView.findViewById(R.id.tv_menu_text);

        //分隔线的控件
        lineView = (LinearLayout)itemView.findViewById(R.id.lineView);

        //新消息的控件
        mTvNewMsgNum = (TextView) itemView.findViewById(R.id.tv_menu_new_msg_point);

        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.PersonalItemView);
        //文本的描述
        String textDes = typedArray.getString(R.styleable.PersonalItemView_personalText);
        //是否显示分隔线
        boolean isShowLine = typedArray.getBoolean(R.styleable.PersonalItemView_isShowLine , false);
        //图标resId
        int imageIcon = typedArray.getResourceId(R.styleable.PersonalItemView_iconRes, 0);

        //设置图标
        if (imageIcon > 0){
            setImageResource(imageIcon);
        }

        //设置文本描述
        if (!Tools.isEmpty(textDes)) {
            mTvText.setText(textDes);
        }

        //设置分隔线的显示
        setLineVisiable(isShowLine);

        //将填充的布局添加到控件中
        addView(itemView);
    }

    /**
     * 设置文本描述
     */
    public void setText(String text) {
        mTvText.setText(text);
    }

    /**
     * 设置文本描述
     */
    public void setText(int text) {
        mTvText.setText(text);
    }

    /**
     * 设置图标
     */
    public void setImageResource(int res){
        ivIcon.setImageResource(res);
    }

    /**
     * 设置消息数量
     * @param number 新消息数
     * @param isShow 是否显示消息控件
     */
    public void setInformationNum(String number , boolean isShow) {
       if (isShow){
           mTvNewMsgNum.setVisibility(View.VISIBLE);
           mTvNewMsgNum.setText(number);
       }else{
           mTvNewMsgNum.setVisibility(View.GONE);
       }
    }

    /**
     * 设置消息数量
     * @param number 新消息数
     * @param isShow 是否显示消息控件
     */
    public void setInformationNum(int number , boolean isShow) {
        if (isShow){
            mTvNewMsgNum.setVisibility(View.VISIBLE);
            mTvNewMsgNum.setText(String.valueOf(number));
        }else{
            mTvNewMsgNum.setVisibility(View.GONE);
        }
    }

    /**
     * 设置分隔线的显示
     */
    public void setLineVisiable(boolean isHaveLine) {
        lineView.setVisibility(isHaveLine ? View.VISIBLE : View.GONE);
    }

    /**
     * 获取新消息数
     */
    public TextView getInformationNum(){
        return mTvNewMsgNum ;
    }

}
